using System;
using System.Collections.Generic;
using System.Text;

namespace ClientGUI.Modules.Drawing
{
    /// <summary>
    /// Used to tell weither the sides of a rectangle should be displayed.
    /// </summary>
    public class RectangleVisible
    {
        /// <summary>
        /// True iff the top of this rectangle should be displayed.
        /// </summary>
        protected Boolean top;

        /// <summary>
        /// True iff the bottom if this rectangle should be displayed.
        /// </summary>
        protected Boolean bottom;

        /// <summary>
        /// True iff the left of this rectangle should be displayed.
        /// </summary>
        protected Boolean left;

        /// <summary>
        /// True iff the right if this rectangle should be displayed.
        /// </summary>
        protected Boolean right;

        /// <summary>
        /// Defaults to all true.
        /// </summary>
        public RectangleVisible()
        {
            top = true;
            bottom = true;
            left = true;
            bottom = true;
        }

        /// <summary>
        /// Set each parameter
        /// </summary>
        /// <param name="topP">top</param>
        /// <param name="bottomP"> bottom</param>
        /// <param name="leftP">left</param>
        /// <param name="rightP">right</param>
        public RectangleVisible(Boolean topP, Boolean bottomP, Boolean leftP, Boolean rightP)
        {
            top = topP;
            bottom = bottomP;
            left = leftP;
            right = rightP;
        }

        /// <summary>
        /// True iff the top of this rectangle should be displayed.
        /// </summary>
        public Boolean Top { get { return top; } }


        /// <summary>
        /// True iff the bottom if this rectangle should be displayed.
        /// </summary>
        public Boolean Bottom { get { return bottom; } }


        /// <summary>
        /// True iff the left of this rectangle should be displayed.
        /// </summary>
        public Boolean Left { get { return left; } }


        /// <summary>
        /// True iff the right if this rectangle should be displayed.
        /// </summary>
        public Boolean Right { get { return right; } }
    }
}
